【Node.js】LINE Messaging API SDKを用いてユーザーIDのリストからオーディエンス作成してみた
こんにちは、リテールアプリ共創部のるおんです。LINE公式アカウントなどを運用する際に、オーディエンスを作成してユーザーに送りたいメッセージを一斉配信することが可能です。今回は、このオーディエンスを、LINE Messaging API SDKを使用して、ユーザーIDのリストからオーディエンスを作成する方法をご紹介します。この方法をアプリケーションに組み込むことで、LINE Official Account Managerからオーディエンスを作成せずとも、アプリ内で自動でオーディエンスを作成する機能を実装することができます。
オーディエンスとは
オーディエンスとは、LINE公式アカウントにおいて、特定の条件や属性に基づいてグループ化されたユーザーの集合を指します。これは、ターゲットを絞ったメッセージ配信や効果的なマーケティングキャンペーンを実施するために非常に重要な機能です。
下の画像のように、様々な条件を満たしたユーザーのグループ化を行い、それをオーディエンスとして扱ってメッセージの一斉配信などを行うことができます。また、今回実装するようにユーザーIDのリストからオーディエンスを作成することもできます。
オーディエンス機能を活用することで、LINE公式アカウントの運用者は、より精緻なユーザーコミュニケーションを実現し、ビジネス目標の達成に向けて効果的なアプローチを取ることができます。
このオーディエンスの作成はLINE Official Account Managerから行うのが普通ですが、今回はこれをLINE Messaging API SDKを用いて実行したいと思います。
使用した言語はTypeScriptで使用したライブラリはLINE Messaging API SDK for nodejsです。
やってみた
早速実装してみます!
セットアップ
プロジェクトを作成して必要なパッケージをインストールします。
LINE Messaging API SDK for nodejsのドキュメントとインストール方法はこちらです。
mkdir line-audience-creator
cd line-audience-creator
npm install @line/bot-sdk
実装
それではセットアップが完了したら、実際にコードを書いていきましょう。src/createAudience.ts
としてファイルを作成しました。
全体のコードを以下の通りです。
import { createReadStream } from 'fs';
import { manageAudience } from '@line/bot-sdk';
// LINE SDK clientの初期化
// https://github.com/line/line-bot-sdk-nodejs/blob/a3f19a674cc6323bc0d8971085901e1499fe8842/lib/manage-audience/api/manageAudienceClient.ts
const client = new manageAudience.ManageAudienceClient({
channelAccessToken: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});
// ユーザーIDのリスト
const audienceList = [
{
id: "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{
id: "Uyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
},
{
id: "Uzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
}
]
async function createAudience() {
try {
//
const res = await client.createAudienceGroup({
description: 'テストオーディエンス作成!',
isIfaAudience: false,
uploadDescription: 'Messaging API SDK経由でアップロード',
audiences: audienceList
});
console.log('Audience created successfully:', res);
} catch (err) {
console.error('Error creating audience:', err);
}
}
// 実行
createAudience();
解説
Messaging APIを用いたオーディエンスの作成の公式リファレンスはこちらです。
まず最初にManageAudienceClientクラスを初期化します。channelAccessTokenには、LINE Developers Consoleから自身が作成したMessaging APIアカウントのチャネルアクセストークンを入れてください。
createAudienceGroupメソッドを使用してオーディエンスを作成します。
引数audiences
に、オーディエンスとして作成したいユーザーIDの配列を渡してあげます。
動作確認
それでは実際に作成したコードを実行してオーディエンスが作成できているかどうかを確認してみましょう。
実行
TypeScriptのファイルをjsファイルにトランスパイルして実行してください。
tsc
node src/createAudience.js
// => 出力結果
Audience created successfully: {
audienceGroupId: xxxxxxxxxxxxx,
createRoute: 'MESSAGING_API',
type: 'UPLOAD',
description: 'テストオーディエンス作成!',
created: xxxxxxxxxxxxx,
permission: 'READ_WRITE',
expireTimestamp: 1740449794,
isIfaAudience: false
}
確認
LINE Official Account Managerにアクセスしてください。
以下のようにオーディエンスが作成されているのがわかります。
おわりに
今回はLINE Messaging API SDKを使用してNode.jsで作成したアプリケーション上からオーディエンスを作成する方法をご紹介しました。これを用いることで今まで手作業で行なっていたオーディエンス作成が自動化され業務改善に役立つと思いました。
参考になりましたら幸いです。
参考
Messaging APIリファレンス オーディエンス管理
line-bot-sdk-nodejs
LINE Messaging API SDK for nodejs